﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;
using Rainbow.Demo.Objectflow.Client;
using Shouldly;

namespace objectflow.demo.tests.unit
{
    public class CoffeeCustomerServiceTests
    {
        [Test]
        public void ConfigureShould()
        {
            var coffeeCustomerService = new CoffeeCustomerService();
            var worflowInspector = new WorkflowInspector();
            var inspection = worflowInspector.Inspect(coffeeCustomerService);

            inspection.ShouldBe(
             @".On<Exception>(() => Console.WriteLine(\""Caught an exception\""))
                .When<CustomerState>()
                .Do<PlaceOrder>()
                .Do<PayForCoffee>()
                .Do<PickUp>()");
        }
    }

    public class WorkflowInspector
    {
        public string Inspect(CoffeeCustomerService coffeeCustomerService)
        {
            throw new NotImplementedException();
        }
    }
}
